/*
 *  获取当前页面总个数
 */
function getWebCount(){	
	alert(plus.webview.all().length);
}



/*
 *	打开,获取指定目录或文件资源对象 
 * @path 	指定的路径 
 * @fun(res)	回调函数,res会获取创建目录的对象或错误对象
 * @return 	无
 * @示例
  	getPathEntry('_www/notepad',function(res){
  		if(res.stat){	//如果stat 存在说明获取失败
  			alert(res.msg);	//打印失败原因
  		}else{
  			alert(res);	//得到指定路径的资源对象
  		}
  	});
 */
function getPathEntry(path,fun){
	plus.io.resolveLocalFileSystemURL(
		path,
		function(en){
			fun(en);
		},
		function(e){
			err = new Object();
			err.error = 1;
			err.msg = e.message;
			fun(err);
		}
	);
}








/*
 *	递归创建目录 
 * @path 	要创建的路径
 * @fun(res)	回调函数,res会获取创建目录的对象或错误对象
 * @return 	无
 * @示例
		createDir(path,function(res){
			if(res.error){
				alert(res.msg);	//获取失败信息
			}else{
				alert(res.fullPath);  //成功返回目录对象 
			}
		}); 
 */
function createDir(path,fun){
	var index = path.indexOf('/');
	var path1 = path.substr(0,index);
	getPathEntry(path1,function(res){
		res.getDirectory(
			path,
			{create:true,exclusive:true},
			function(res2){
				fun(res2);
			},
			function(e){
				err = new Object();
				err.error = 1;
				err.msg = e.message;
				fun(err);
			}
		);
	})
}





/*
 *	创建文件
 * @path 	要创建文件的所在目录url
 * @fileName	要创建的文件名
 * @fun(res)	回调函数,res会获取创建文件的对象或错误对象
 * @return 	无
 * @示例
	createFile(path,fileName,function(res){
		alert(res.fullPath);
	});
 */
function createFile(path,fileName,fun){	
	getPathEntry(path,function(res){		//判断notepad目录是否存在，否则创建
		if(!res.error){ 
			var	filePath = path+'/'+fileName;
			res.getFile(
				filePath,
				{create:true,exclusive:true},
				function(fn){
					fun(fn);
				},
				function(e){
					err = new Object();
					err.error = 1;
					err.msg = e.message;
					fun(err);
				}
			);
		}else{
			fun(res.msg);
		}
	})
}






/*
 *	读取文件
 * @fileEntry 	要操作的文件对象
 * @fun(res)	回调函数,res会返回文件内容或错误信息
 * @return 	无
 * @示例
	readFile(res,function(res){
		if(!res.error){
			alert(res)
		}
	});
 */
function readFile(fileEntry,fun){	
	if(fileEntry.isFile){
		fileEntry.file(
			function(file){
				reader = new plus.io.FileReader();
				reader.onloadend = function ( e ) {
					fun( e.target.result );
				};
				reader.readAsText( file );
			},
			function(e){
				err = new Object();
				err.error = 1;
				err.msg = e.message;
				fun(err);
			}
		);
	}else{
		err = new Object();
		err.error = 1;
		err.msg = '不是文件！';
		fun(err);
	}
}





/*
 *	写入文件
 * @fileEntry 	要操作的文件对象
 * @fun(res)	回调函数,res会返回 ok 或错误信息
 * @return 	无
 * @示例
	fileWrite(res,content,function(res){
		if(res=='ok'){
			alert('保存成功！');
			plus.webview.close(plus.webview.currentWebview());					
		}else{
			alert(res);
		}
	});
 */
function fileWrite(fileEntry,content,fun){
	fileEntry.createWriter(
		function(write){
			write.write(content); 
			write.onwriteend = function(){
				fun('ok');
			}
		},
		function(e){
			fun(e.message);
		}
	);
}












/*
 *	遍历目录
 * @dirEntry 	要操作的目录对象
 * @fun(res)	回调函数,res会返回该目录下的文件对象集和目录对象集或错误信息
 * @return 	无
 * @示例
	readDirs(res,function(res2){
		alert(res2.files);	//获取了目录中所有的文件对象
		alert(res2.dirs);	//获取了目录中所有的目录对象
	});
 */
function readDirs(dirEntry,fun){
	var dr = dirEntry.createReader();
	dr.readEntries(
		function(en){
			var obj = new Object();
			obj.files = [];
			obj.dirs = [];
			en.forEach(function(v,i,t){
				if(v.isFile){
					obj.files.push(v);
				}
				if(v.isDirectory){
					obj.dirs.push(v);
				}
			});
			fun(obj);
		},
		function(e){
			err = new Object();
			err.error = 1;
			err.msg = e.message;
			fun(err);
		}
	);
}

 


/*
 *	展示指定目录中的资源信息
 * @path 	要查看的目录路径 
 * @return 	无
 * 
 */
function redDir2(path){	
	getPathEntry(path,function(res){
		if(res.error){
			alert('路径不存在 ！');
			return;
		}
		readDirs(res,function(res2){
			var mStr= '';
			if(res2.dirs.length > 0){
				res2.dirs.forEach(function(v,i,t){
					mStr += '目录：'+v.name+"\r\n";
				});
			}
			if(res2.files.length > 0){
				res2.files.forEach(function(v,i,t){
					mStr += '文件：'+v.name+"\r\n";
				});
			}
			alert(mStr);
		});
	});
}